
package cc.marcio.systems.seven.dao;

import java.io.Serializable;
import java.util.List;

public interface BaseDao<T> {

	public void save(T entity);

	public T load(Serializable id);

	public T get(Serializable id);

	public List<T> listAll();

	public List<T> findByExample(final T entity);

	public T findOneByExample(final T entity);

	public List<T> listAll(final int first, final int max);

	public List<T> listByExample(final T entity, final int first, final int max);
	
	public int listAllPageCount();

	public int findByExamplePageCount(final T entity);

	public void update(T entity);

	public void delete(T entity);

	public void rebind(T entity);
}